# Troubleshooting

To add new solutions, please open a pull request, issue or contact me directly.

Sorted by appearance from installation (top) to gameplay (bottom).


### List of problematic Wine versions

 * Wine (vanilla + staging): rare issues caused by child window rendering. See below or Issue #325
 * Wine 7.5: Broken batch file execution; stuck with `find.exe`. See below or Issue #291
 * Wine 7.3 - 7.5: May require a manual wineprefix update. See below or Issue #273
 * Wine 6.21 (Lutris?): Possible freeze before login screen - Issue #224
 * Wine 6.15 (vanilla): Crash when entering or leaving multiplayer
 * Wine 6.14: Suspected audio playback problems - Issue #218
 * Wine 6.10: Crash in HID when using a controller - Issue #133
 * Wine 6.0 (staging): Possible stutter issues on AMD graphics - Issue #40
 * Wine 5.19: Occasional crash while preparing media (login screen)
 * Wine 5.3 and older: Missing StartThreadpoolIo implementation


#### Launcher: Game download issues

Download works but launcher freezes/crashes midway:

 * Use a recent Wine version (Wine 6.13+ confirmed working)
 * Use a custom [Update & Patch application](updater/) as an alternative to the official launcher
 * See Issue #28 for details

The memory footprint of `winedevice.exe` grows continuously:

 * Wine bug: see [bug tracker](https://bugs.winehq.org/show_bug.cgi?id=52322)
 * Option 1: Close and re-open the launcher to continue
 * Option 2: Use a custom launcher/[Update & Patch application](updater/)
 * See Issue #118 for details

"Insufficient disk space" issues. Also affected: voice packs from in-game settings

 * Is the game installed in your expected location?
 * Multiple partitions and symlinks might cause the launcher to query the wrong drive
     * Note: `winecfg` might require the environment variable `WINEPREFIX` to be specified.
     * Option 1: Limit drive access. Run `winecfg` -> "Drives"
         * Remove the `Z:` drive and add a new drive using the game installation path.
     * Option 2: Remove the symlinks. Run `winecfg` -> "Desktop Integration" -> "Folders"
         * Select and uncheck each link in the listing
     * Option 3: Try Lutris or a manual Wine setup
 * Last resort: use a [native update application](updater/)


#### Launcher: Failed to unzip game files

1. Check for launcher updates
2. Edit `/path/to/Genshin Impact Game/config.ini`
3. Adjust the line `game_version=X.X.X` to the currently installed version
4. Re-run the launcher to install the update

Alternatively: re-download the entire game. See Issue #28 for direct links.


#### Game does not start at all

1. Check & update the game version in the official launcher
2. Apply the patches as described in `README.md`

A `find.exe` command window is shown but never exits:

 * Happens since Wine 7.5 when running `cmd /c launcher.bat` without a terminal.
   Wine spawns a `find.exe` process in a separate window which breaks the batch script.
 * Workaround: Use a virtual desktop or run `wine cmd ...` from a terminal
 * For details, see Issue #291


#### 'find' or 'start' cannot be found

Alternatively: `notepad.exe` opens on launch, displaying an error message.

Possible causes:

 * Old Lutris Wine package (prior to "lutris-6.4")
 * Incomplete or corrupted WINEPREFIX setup

Solutions:

 * Try another package, such as Proton or stock/vanilla Wine.
 * Use a new WINEPREFIX. Move the game installation.
 * Attempt to repair an existing one using `wineboot -u`
     * This step requires the environment variable `WINEPREFIX` to be specified.

For more details, see Issue #78.


#### Game crashes on launch

1. Ensure the patch is applied
2. Retry without kernel sync (ESYNC, FSYNC, ...)
3. Lutris: disable "Lutris Runtime" ([for reference](https://notabug.org/Krock/dawn/issues/78#issuecomment-24727))

Wine output `CreateDirectory 'C:/users/XXXXX/AppData/LocalLow/XXXX' failed: File not found`:

 * Caused by incorrect encoding of the `%APPDATA%` path due to certain locales.
     * Primarily observed on the Chinese version using Steam
 * In general: use the following environment variables:
     * `LC_CTYPE=en_US.utf8`
     * `LC_ALL=en_US.utf8`
 * For Steam:
     1. Edit the file `~./.steam/steam/?????/steam-runtime/run.sh`
         * Find the line `exec "$@"` at the end of the file.
         * Change to `LC_CTYPE=en_US.utf8 LC_ALL=en_US.utf8 exec "$@"` and save.
     2. In Steam: navigate to Gear icon -> "Settings".
         * Start options: `LC_CTYPE=en_US.utf8 LC_ALL=en_US.utf8 %command% /desktop=....`


#### Game crash related to the wineprefix

Wine output log example:

 * `wine: Call from XXXXXX to unimplemented function combase.dll.RoSetErrorReportingFlags, aborting`

This applies to Wine 7.3 or newer but not Proton. Either:

 * Update your WINEPREFIX using `wineboot -u`
     * Command execution is possible from both, shell and `cmd.exe`.
 * Create a new WINEPREFIX, reinstall DXVK (if possible) and retest
     * The game installation should be located outside any prefix to avoid accidental deletion.


#### Game no longer works on Windows

 * This is intentional to avoid abuse of this project
 * If you are Dual-Booting, write a batch script to swap the game files as needed


#### StartThreadpoolIo not found in KERNEL32.dll

 * Use Wine 5.3 or newer. This function has been added recently.
 * For more details, see [Issue#12](https://notabug.org/Krock/dawn/issues/12#issuecomment-22060).


#### Login shows a white rectangle

After activating the "Login" button, a white rectangle appears.
If the Captcha does not appear after 20 seconds, check for solutions in
the following Troubleshooting entries:

 * "In-game browser looks weird or crashes the game"
 * "Error 4206"

If you are using MangoHud: hide it using [Shift_R+F12](https://github.com/flightlessmango/MangoHud#keybindings) before logging in.

**Workaround for Vulkan child window rendering**

This section is dedicated to [Wine bug 45277](https://bugs.winehq.org/show_bug.cgi?id=45277).

1. Check whether you are affected by this bug.
     * Try to open the in-game registration page and open the Wine output log.
     * `err:virtual:virtual_setup_exception stack overflow 2128 bytes` (or similar) appears.
     * If there is no similar error message, proceed with other workarounds.
2. Rename or move the file `*_Data/Plugins/vulkan-1.dll` (done by patch script)
3. Use a Wine version that includes experimental child window rendering:
     * wine-ge-custom
     * wine-tkg
     * Valve Wine/Proton (Steam)
     * Ways to check or find other supported Wine builds: (experimental)
         * Search for `pXCompositeRedirectWindow` in the repository
         * Check installed versions: `locate "winex11" | xargs -d '\n' grep sync_vk_surface`
         * Individual check: `find -type f -name "winex11*.so" | xargs -d '\n' grep sync_vk_surface"`


#### Bilibili login page not working

See [INSTALLATION.md](INSTALLATION.md#bilibili) for details.


#### Error 4206 or "Connection timed out"

Alternatively: stuck at "Checking for updates..." without any error message

Possible error sources:

 * Faulty DNS server
     * Manually specify DNS addresses in your connection settings
 * Failing IPv4 fallback
     * Edit `/etc/gai.conf` and uncomment `precedence ::ffff:0:0/96  100`
 * Domain(s) blocked by ISP
     * Try a VPN or a different DNS
 * Custom domain block lists (albeit unlikely)
     * Double-check your `/etc/hosts` file

In rare cases, this issue may be weekday-dependent for unknown reasons.

Solutions: tab ["PC client issues"](https://docs.google.com/spreadsheets/d/1I3aaXaNbHm-igAsFwvlCEHr5xyQKO4Wot8TuywsOhxw/htmlview#)


#### Freeze when loading game data

Unknown cause. Please submit ideas to Issue #90

 * Ensure that an audio output device is enabled
 * Run the game using `-nolog`: `??? cmd /c launcher.bat -nolog`
 * Try another graphics driver or setup a clean, new WINEPREFIX


#### Crash after 20 seconds due to sound output

First seen in version 2.1.0 using PulseAudio.

Check whether the terminal output (`WINEDEBUG` value is irrelevant) contains following line:

 * `INFO: OpenAudioDevice failed: Unsupported number of audio channels`

.. and change the sound output settings to Analog Stereo.


#### An error code appears

Common errors and possible causes. `x` stands for any number:

 * -900x
     * Out of free storage
     * Check the read and write permissions of the entire game
       directory, and the `Persistent` sub-directory in particular
 * -9907 (Insufficient space on disk)
     * May occur when installing the game and Wineprefix on separate drives
     * Solution: Open `winecfg` of the game Wineprefix and re-assign the `Z:` drive
       path to the game's installation directory
     * Alternative: Move the Wineprefix to the game installation drive
 * -9908
     * The downloaded data is corrupt. Try a wired connection.


#### White screen freeze when entering the door
... plus error log "*err:virtual:virtual_setup_exception stack overflow*".

Obsolete. Seen in game version 1.2.0 to 2.4.0 (?).

This error reappears a few days after each release. It is caused by server-sent bytecode.

Workaround:

	bash "/path/to/dawn/GAMEVER/patch_anti_logincrash.sh"


#### Crash when initially loading the world (7 symbols)
... + `error.log` message containing `XAudio2_7.dll caused an Access Violation (0xc0000005)`

Rare occurrence related to an audio failure. Observed in Wine 5.22 and newer.


1. Restart the game
2. Check for music and button sound effects

This crash might also occur when WineD3D is used rather than DXVK.

 * Check the [setup instructions](INSTALLATION.md) again


#### Random game crashes (generic)

If other Windows games work well:

 * Perform a file integrity check using the game launcher
 * You might need to reapply the patch afterwards.

If other Windows games have issues as well:

 * Ensure that DXVK, your GPU - and Vulkan packages are working properly.
   See section "Weak graphics, slow game" for further instructions.


#### In-game browser looks weird or crashes the game

 * Install the required MS core fonts
     * Ubuntu/Debian: install `ttf-mscorefonts-installer`
     * Arch/Manjaro: install `ttf-ms-fonts`
     * Alternatively: winetricks `corefonts` verb
 * Re-install dxvk (if present)
 * Try running the game in a virtual desktop
 * Delete and create a new wineprefix after moving the game files to a safe location
     * For System-wide Wine: you will need to reinstall customizations such as DXVK.

Other font installations might work as well as long Fontconfig can use them as fallback.


#### ZFGameBrowser crash message box

This section is dedicated to "ZFGameBrowser has stopped working" (or similar) message boxes.

 * Ignore and restore the game window
 * For input issues: try the virtual desktop (see below)

For more details, see Issue #29.


#### Graphics bugs/issues

Check whether your GPU supports Vulkan: [unofficial list](https://vulkan.gpuinfo.org/), [Intel](https://www.intel.com/content/www/us/en/support/articles/000005524/graphics.html), [nVIDIA](https://developer.nvidia.com/vulkan-driver), [AMD](https://www.amd.com/en/technologies/vulkan#paragraph-218601)

DXVK setup instructions:

 * Custom script:
     * Download [winetricks](https://github.com/Winetricks/winetricks/)
     * `export WINEPREFIX=/absolute/path/` (if needed)
     * `sh winetricks`
     * Install the DLL package `dxvk` (newest, or 1.7.3 for Proton 5.13)
 * Lutris: Configure -> Runner options -> "Enable DXVK" and specify the version
 * Proton: See [setup instructions](INSTALLATION.md#steam)
 * PlayOnLinux: (outdated DXVK?)
     * Configure game -> Install components -> [Latest DXVK version]

To confirm whether DXVK is working, check the section "Game is on an LSD trip".

Advanced GPU + Vulkan driver health check:

1. Many common distributions come with a GPU driver selection in the system settings.
   Use that before "going down the rabbit hole".
2. See section "How to report issues" for driver information commands
3. Look up your GPU on [TechPowerUp](https://www.techpowerup.com/gpu-specs/) to know the architecture,
   such as "Pascal" (nVIDIA), "RDNA" (AMD), etc.
4. Driver verification: [Arch Wiki: Xorg](https://wiki.archlinux.org/title/xorg#Driver_installation)
5. Vulkan verification: [Arch Wiki: Vulkan](https://wiki.archlinux.org/title/Vulkan#Installation)
6. DXVK check: see section "Game is on an LSD trip".


#### Game is on an LSD trip

(This means that surfaces have very distinct colors)

This issue is often caused by an outdated or missing DXVK installation.

How to check (general approach):

 * Launch with the environment variable `DXVK_HUD=version,devinfo,fps`
     * A HUD must appear in the top left corner
 * Check whether version 1.7.3 or newer is shown
 * Alternatively, following lines in the terminal output indicate lack of DXVK:
     * `fixme:d3d11:wined3dformat_from_dxgi_format`
     * `fixme:d3d:wined3d_check_device_multisample_type`
     * `fixme:d3d_shader:print_glsl_info_log`
 * For installation hints check the section "Graphics bugs/issues" above.

Intel iGPU specific issues:

 * Update Mesa to a recent version, newer is better
 * See [Release Notes](https://docs.mesa3d.org/relnotes.html) for "ANV" mentions and fixes
 * See Issue #152 for the original report.

In case software rendering, i.e. `llvmpipe` is used by accident. This is most common on AMD GPUs:

1. Check whether software rendering is used
     * Either: search for `lavapipe` in the terminal output upon launch
     * Or: search for `Device name` + `llvmpipe` in [`output_log.txt`](FAQ.md) after launch
2. Install proper Vulkan packages:
     * Check tutorials, such as [LinuxConfig](https://linuxconfig.org/install-and-test-vulkan-on-linux) or [Arch Wiki](https://wiki.archlinux.org/title/Vulkan#Installation)
3. Repeat step 1 to confirm your changes


#### Stripe artifacts appear during longer game sessions

This can be caused by filled VRAM, hence relevant for cards with VRAM <= 2 GB.

 * Depending on the case, this can be avoided by using wine-staging with these
environment variables:
     * `STAGING_SHARED_MEMORY=1`
     * `STAGING_WRITECOPY=1`
 * Alternatively, lower the in-game setting "Render Resolution".

(wine-staging method tested with a GTX 650 Ti Boost, 2 GB)


#### Mouse/keyboard input issues

Easiest solution: Use a virtual desktop.

 * Custom script: `wine explorer /desktop=anyname,1920x1080 cmd /c launcher.bat`
     * Adjust the resolution numbers to your needs
 * Steam + Proton: See [setup instructions](INSTALLATION.md#steam)
 * Lutris: Go to "Runner options" -> Enable "Windowed (virtual desktop)"

Alternative solutions without a virtual desktop:

 * Use Wine-Staging 7.8 or newer (`_NET_ACTIVE_WINDOW` patch)
 * winecfg -> Check "Automatically capture the mouse in full-screen windows"
 * `WINEPREFIX="/path/to/prefix" winetricks usetakefocus=n`
     * Lutris already does this by default.

General Unity3D-specific workaround for ignored inputs after focus loss:

 * Use `Alt+Enter` to toggle to windowed mode
 * Drag the window, focus the desktop, focus the game window (again)
 * When the title bar indicates focus, switch back to fullscreen mode

See also: search engine query `unity wine focus`


#### Too high mouse sensitivity

This workaround is meant for overall high mouse sensitivity.
In case this issue occurs only after switching between workspaces, check the sections below.

Disable `MouseWarpOverride` using Winetricks:

	WINEPREFIX="/path/to/prefix" winetricks mwo=disable


#### Alt + Mouse click not working

Cinnamon users:

 * Workaround: Disable the window move & resize feature
     * See [Linux Mint forums](https://forums.linuxmint.com/viewtopic.php?t=264172)

Xfce4 users:

 * Same solution as in the `causes the view to "spin"` issue below


#### Switching between workspaces causes the view to "spin"

Change the in-game resolution setting:

1. Focus the (virtual) desktop
2. Focus the game window again. The title bar must be marked as active (blue).
3. Change the resolution back to fullscreen

Alternative: use Proton.


#### Wrong window resolution

If the in-game settings are not accessible, do one of the following:

 * Append following arguments after `launcher.bat`:
     * `-screen-width XXX -screen-height YYY -screen-fullscreen 1`
 * Alternative: `-show-screen-selector` to change the settings on startup
 * Alternative: change the virtual desktop's size (if present)
 * Alternative: use regedit to change the keys in `HKCU\Software\...`

See also: [Unity CLI args](https://docs.unity3d.com/Manual/CommandLineArguments.html)


#### Weak graphics, slow game

For performance improving tweaks see [TWEAKS.md](TWEAKS.md).

This may also be caused by software rendering. Check the section "Game is on an LSD trip" above.

**For hybrid graphics (dGPU + iGPU) in laptops:**

1. Use the environment variable `DXVK_HUD=version,devinfo,fps`
2. If the dGPU (such as nVIDIA or AMD) is shown, go to the section "Game is on an LSD trip".
3. If the iGPU (Intel or AMD integrated) is shown:
     * For nVIDIA: Launch Wine with [`prime-run`](https://wiki.archlinux.org/title/PRIME#PRIME_render_offload)
     * ^ If `pvkrun` does not work, uninstall [`bumblebee`](https://wiki.archlinux.org/title/Bumblebee) prior to installing `prime-run`
     * For AMD: Use the environment variable `PRIME_RUN=1`
4. Repeat the check in step 1

Consider to run your game manager (if present) directly from the dGPU to make sure that
other games benefit from the discrete GPU performance as well.

**Note:** If Lutris is used, environment variables can be specified in the `System options` tab


#### Locale-specific keyboard layout not working

Upon input, question mark signs (`?`) appear rather than the typed characters.

Gnome: Move the locale-specific layout to second place

  * [Example configuration](https://notabug.org/attachments/3994e09e-e7a1-4c34-83a1-87c5e421375b)

Change the environment variable `LANG` to your locale

 * Run `locale -a` to pick your native language (referenced as `your_LOCALE.utf8` below)
     * Custom script: `LANG=your_LOCALE.utf8 wine ....`
     * Lutris: Configure -> "System options" -> Add `LANG`, `your_LOCALE.utf8`
       to the environment variables
         * See also: [forum discussion with instructions](https://forums.lutris.net/t/solved-need-help-launching-a-game-with-custom-locale/6404)
     * Steam: Add `LANG=your_LOCALE.utf8` in front of the "Start options" input box.
         * e.g. `LANG=ja_JP.utf8 %command% /desktop=anyname,800x600 ....`

Custom script: if the problem persists, create or update a WINEPREFIX using your locale

 * `WINEPREFIX=/path/to/wineprefix/ LANG=your_LOCALE.utf8 /path/to/wineboot -u` (untested)


#### Voiced cutscenes lack audio playback

 * Ensure that `faudio` is installed (Ubuntu: `libfaudio0`)
     * See also: [official Wine setup instructions](https://wiki.winehq.org/Download)
 * Try another, newer Wine version


#### "Feedback" and "Special Event" buttons crash Wine

These menu buttons are broken since their introduction.
Following workarounds exist:

"Feedback" button:

1. For Gacha analytics: check [FAQ.md](FAQ.md) for alternatives
2. Check your in-game mail. It should contain a working URL.
     * Important: `zfgamebrowser.exe` must *still* be running (default)
3. If there is no mail, wait for the reminder (arrives a few days).

"Special Event" button:

1. Check the in-game browser for event links.
     * This is unreliable and might crash Wine in some cases
2. Obtain the link from official channels or community. (e.g. Twitter)


#### Frequent crashes due to avcodec-58

Check whether this issue applies to you:

1. Wait for the game to crash.
2. Scroll to the bottom of `output_log.txt` (see [FAQ.md](FAQ.md))
3. `(avcodec-58)` is mentioned in the stack trace section

Solution: Disable the library.

 * Lutris: See [INSTALLATION.md](INSTALLATION.md)
 * Custom script: Use the environment variable `WINEDLLOVERRIDES=avcodec-58.dll=d`


#### Crash when joining co-op

See "White screen freeze when entering the door".


### Information sources

 * [PlayOnLinux](https://www.playonlinux.com/en/app-4228.html)
 * [NotABug issue tracker](https://notabug.org/Krock/dawn/issues)


### How to report issues

Please upload long log files to an external service such as:

 * https://pastecord.com/
 * https://paste.debian.net/
 * https://pastebin.com/
 * https://dpaste.com/

Following information can help to speed up the troubleshooting process:

1. What are you using: custom script, Lutris, Steam, other?
2. Did you follow the installation instructions?
3. For setup issues: provide the WINEDEBUG terminal output
     * Custom script: `wine ????? 2>debug.txt` (redirect stderr to a new file)
     * Lutris: [Obtaining log output for games](https://github.com/lutris/docs/blob/master/ProvidingLogs%26SystemInfo.md#obtaining-log-output-for-games)
     * Steam: start Steam from the terminal: `PROTON_LOG=1 steam`
          * Log files are saved to `$HOME/steam-*.log`
4. For in-game crashes: provide its crash information
     * The file paths can be found in [FAQ.md](FAQ.md).
       Note: Wine-internal crashes might not generate a new dump in the Temp directory.
     * `output_log.txt`: DLL listing and stack backtrace at the end of the file
     * `error.log`: lines until (and including) `Bytes at CS:EIP:` are the most helpful
5. Driver information
     * GPU driver: `lspci -v | grep "VGA" -A 15`
     * General overview: `inxi -Ga`
     * Vulkan driver: `vulkaninfo | grep DRIVER_ID -A 3`
